<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 1.数组方法里面的push pop unshift shift的作用分别是什么，他们的返回值又是什么？

      /* 
            push:末尾添加，长度
            pop：末尾删除，删除的元素
            unshift：开头添加，长度
            shift：开头删除，删除的元素
            */

      // 2.移除数组 arr["西瓜","香蕉","菠萝"]中除西瓜外的所有元素，不要使用第二个数组

      var arr = ["西瓜", "香蕉", "菠萝"];
      var res = arr.splice(1, arr.length - 1);
      console.log(arr);

      // 3.移除数组 arr[1, 2, 3, 4, 2] 中的 2。不要直接修改数组 arr，结果返回新的数组

      var arr = [1, 2, 3, 4, 2];
      for (var i = 0; i < arr.length; i++) {
        if (arr[i] == 2) {
          arr.splice(i, 1);
        }
      }
      console.log(arr);

      // 4.定义一个函数,能在数组 arr[1, 2, 3, 4, 2] 的 "2"后面添加元素 "jack"。不要直接修改数组 arr，
      // 结果返回新的数组即调用函数后返回的结果为[1, 2,'jack',3, 4, 2,'jack'],arr不变。

      var arr = [1, 2, 3, 4, 2];
      // arr.splice(1, 0, "jack");
      // arr.splice(4, 0, "jack");
      for (var i = 0; i < arr.length; i++) {
        if (arr[i] == 2) {
          arr.splice(i + 1, 0, "jack");
          i++;
        }
      }
      console.log(arr);

      // 5.统计数组 arr[1, 2, 3, 4, 2] 中 2 出现的次数

      var arr = [1, 2, 3, 4, 2];
      for (var i = 0, n = 0; i < arr.length; i++) {
        if (arr[i] == 2) {
          n++;
        }
      }
      console.log(n);
    </script>
  </body>
</html>
